View Javadoc

1   package uba.db.sql.interpreter.sentencevalidation;
2   
3   import java.util.ArrayList;
4   import java.util.Collections;
5   import java.util.List;
6   
7   import uba.db.sql.language.CreateTable;
8   import uba.db.sql.language.Insert;
9   import uba.db.sql.language.Select;
10  import uba.db.sql.language.Sentence;
11  import uba.db.sql.language.VisitorBehavior;
12  
13  /***
14   * @version $Revision: 1.1 $
15   */
16  public class ValidationSetUpVisitor extends VisitorBehavior {
17      private SentenceValidator validator;
18      private List validations;
19      private Sentence sentence;
20  
21      public ValidationSetUpVisitor(Sentence sentence, SentenceValidator validator) {
22          this.sentence = sentence;
23          this.validator = validator;
24          validations = new ArrayList();
25      }
26  
27      /***
28       * @see uba.db.sql.language.VisitorBehavior#visitCreateTable(uba.db.sql.language.CreateTable)
29       */
30      public void visitCreateTable(CreateTable table) {
31          validations.add(new NewTableNameValidation(sentence, validator));
32      }
33  
34      /***
35       * @see uba.db.sql.language.VisitorBehavior#visitInsert(uba.db.sql.language.Insert)
36       */
37      public void visitInsert(Insert insert) {
38          validations.add(new ExistantTableValidation(sentence, validator));
39          validations.add(new ColumnNameValidation(sentence, validator));
40      }
41  
42      /***
43       * @see uba.db.sql.language.VisitorBehavior#visitSelect(uba.db.sql.language.Select)
44       */
45      public void visitSelect(Select select) {
46          validations.add(new ExistantTableValidation(sentence, validator));
47          validations.add(new ColumnNameValidation(sentence, validator));
48      }
49  
50      public List validations() {
51          return Collections.unmodifiableList(validations);
52      }
53  }